package com.rerun.entity.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.rerun.common.util.JsonDateFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * The type User info vo.
 *
 * @author dax.
 * @version v1.0
 * @since 2017 /11/14 17:04
 */
public class UserInfoVo {

    private String memberId;
    private String headerImg;
    private String name;
    private long sex;
    @JsonSerialize(using = JsonDateFormat.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;
    private String highestEdu;
    private String email;
    private String  resumeId;
    private String livingCity;
    private String residence;
    @JsonSerialize(using = JsonDateFormat.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginWork;

    /**
     * Gets member id.
     *
     * @return the member id
     */
    public String getMemberId() {
        return memberId;
    }

    /**
     * Sets member id.
     *
     * @param memberId the member id
     */
    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    /**
     * Gets header img.
     *
     * @return the header img
     */
    public String getHeaderImg() {
        return headerImg;
    }

    /**
     * Sets header img.
     *
     * @param headerImg the header img
     */
    public void setHeaderImg(String headerImg) {
        this.headerImg = headerImg;
    }

    /**
     * Gets name.
     *
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * Sets name.
     *
     * @param name the name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * Gets sex.
     *
     * @return the sex
     */
    public long getSex() {
        return sex;
    }

    /**
     * Sets sex.
     *
     * @param sex the sex
     */
    public void setSex(long sex) {
        this.sex = sex;
    }

    /**
     * Gets birthday.
     *
     * @return the birthday
     */
    public Date getBirthday() {
        return birthday;
    }

    /**
     * Sets birthday.
     *
     * @param birthday the birthday
     */
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    /**
     * Gets highest edu.
     *
     * @return the highest edu
     */
    public String getHighestEdu() {
        return highestEdu;
    }

    /**
     * Sets highest edu.
     *
     * @param highestEdu the highest edu
     */
    public void setHighestEdu(String highestEdu) {
        this.highestEdu = highestEdu;
    }

    /**
     * Gets email.
     *
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * Sets email.
     *
     * @param email the email
     */
    public void setEmail(String email) {
        this.email = email;
    }


    public String getResumeId() {
        return resumeId;
    }

    public void setResumeId(String resumeId) {
        this.resumeId = resumeId;
    }

    /**
     * Gets living city.
     *
     * @return the living city
     */
    public String getLivingCity() {
        return livingCity;
    }

    /**
     * Sets living city.
     *
     * @param livingCity the living city
     */
    public void setLivingCity(String livingCity) {
        this.livingCity = livingCity;
    }

    /**
     * Gets residence.
     *
     * @return the residence
     */
    public String getResidence() {
        return residence;
    }

    /**
     * Sets residence.
     *
     * @param residence the residence
     */
    public void setResidence(String residence) {
        this.residence = residence;
    }

    /**
     * Gets begin work.
     *
     * @return the begin work
     */
    public Date getBeginWork() {
        return beginWork;
    }

    /**
     * Sets begin work.
     *
     * @param beginWork the begin work
     */
    public void setBeginWork(Date beginWork) {
        this.beginWork = beginWork;
    }

    @Override
    public String toString() {
        return "{" +
                "memberId:" + memberId +
                ", headerImg:" + headerImg +
                ", name:" + name +
                ", sex:" + sex +
                ", birthday:" + birthday +
                ", highestEdu:" + highestEdu +
                ", email:" + email +
                ", resumeId:" + resumeId +
                ", livingCity:" + livingCity +
                ", residence:" + residence +
                ", beginWork:" + beginWork +
                '}';
    }
}
